package com.wenx.v3system.modular.oauth.service;

import com.wenx.v3system.modular.oauth.dto.OAuth2TokenResponseDto;

/**
 * OAuth2令牌服务接口
 * 
 * <p>提供OAuth2令牌交换、用户信息获取、令牌验证等核心功能</p>
 * <p>支持负载均衡和服务发现</p>
 * 
 * @author wenx
 * @since 1.0.0
 */
public interface OAuth2TokenService {

    /**
     * 交换OAuth2访问令牌
     * 
     * <p>使用授权码交换访问令牌和刷新令牌</p>
     * 
     * @param authorizationCode OAuth2授权码
     * @param clientIp 客户端IP地址
     * @return 令牌响应信息
     */
    OAuth2TokenResponseDto exchangeToken(String authorizationCode, String clientIp);

}
